As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information, and may include one or more computer systems, data storage systems, and networking systems.
As the demands for throughput in computing systems, networks and data centers increase, there have been a number of advancements in the way that such systems are designed and built. While traditional data center architectures typically use a monolithic, chassis-based core with a two layer or three layer design, the use of a distributed core has become more prevalent of late. A distributed core architecture (“DCA”) can reduce the burdensome hierarchy that exists with traditional data center switching elements, and in turn provide greater scalability, higher bandwidth, and higher resiliency non-blocking communications for computing and storage nodes.
One problem with using distributed cores, however, is that a distributed core architecture is often determined in a customized fashion for an immediate specific application, with an appropriate number of spine switches, leaf switches, connections and other system components then being provided and constructed to suit that specific application. When it then later becomes desirable to expand the number of ports, throughput or some other relevant feature for that specific distributed core architecture, however, then another substantial customized determination is made.
This added customized determination can take into account the existing system components and configuration, as well as what added features are needed, upon which additional spines, leafs, connections, ports and the like are added and rerouted to arrive at the new architecture. This process is typically customized for each given application and expansion, and as such can involve a significant amount of effort in recalculation and reconfiguration. Further, the possible need for even one or two additional spines and/or leafs or a quick reconfiguration that adds unnecessary spines and/or leafs can result in significant inconveniences or added costs.
Although many systems and methods for providing distributed core architectures for use in data centers and networks have generally worked well in the past, there is always a desire for improvement. In particular, what is desired are systems and methods that provide distributed core architectures that are readily expandable with minimal recalculation and reconfiguration efforts, and that are able to add the exact minimal number of additional spines and leafs that are needed.